package br.edu.utfpr.view.action;

import java.util.ArrayList;
import java.util.List;

import br.edu.utfpr.app.beans.Pedido;
import br.edu.utfpr.app.dto.PedidoDTO;
import br.edu.utfpr.controller.ControladorPedidoImpl;
import br.edu.utfpr.controller.interfaces.ControladorPedido;
import br.edu.utfpr.controller.validator.PedidoValidator;
import br.edu.utfpr.controller.validator.RetornoValidacao;
import br.edu.utfpr.dao.DaoPedidoImpl;
import br.edu.utfpr.dao.interfaces.DaoPedido;

public class ActionPedido extends Action<Pedido>{

	DaoPedido dao = new DaoPedidoImpl();
	ControladorPedido c = new ControladorPedidoImpl(dao, new PedidoValidator());
	
	@Override
	public RetornoValidacao salvar(Pedido pojo) {
		return c.save(pojo);
	}

	@Override
	public RetornoValidacao excluir(Pedido pojo) {
		try {
			c.excluir(pojo);
			return new RetornoValidacao();
		} catch (Exception e) {
			return new RetornoValidacao("Ocorreu um erro ao excluir o Pedido");
		}
	}

	@Override
	public List<PedidoDTO> listar() {
		List<PedidoDTO> lista = new ArrayList<PedidoDTO>();
		
		for (Pedido p : c.list()) {
			lista.add(p.parseDTO());
		}
		
		return lista;
	}

}
